home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / Converters / Convert_FONT / Source / shared.subproj / RCS / ResultObject.h,v < prev    next >
Text File  |  1995-06-12  |  7KB  |  238 lines

  1. head     1.4;
  2. branch   ;
  3. access   ;
  4. symbols  beta10:1.3;
  5. locks    death:1.4;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.4
  10. date     93.04.04.23.45.08;  author death;  state Exp;
  11. branches ;
  12. next     1.3;
  13.  
  14. 1.3
  15. date     93.01.10.15.08.43;  author death;  state Exp;
  16. branches ;
  17. next     1.2;
  18.  
  19. 1.2
  20. date     92.07.26.13.59.06;  author death;  state Exp;
  21. branches ;
  22. next     1.1;
  23.  
  24. 1.1
  25. date     92.04.27.20.50.48;  author death;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29.  
  30. desc
  31. @A base class to use instead of Object, providing error results storage and
  32. multiple values for returning.
  33. @
  34.  
  35.  
  36. 1.4
  37. log
  38. @Sun Apr  4 23:45:07 PDT 1993
  39. @
  40. text
  41. @/*
  42. ====================================================================
  43. This is the interface file for the ResultObject class.  Full documentation for this class can be found in the ResultObject.rtf file.  I will not duplicate all that fine information here.
  44.     This is $Revision: 1.3 $ of this file
  45.     It was last modified by $Author: death $ on $Date: 93/01/10 15:08:43 $
  46. Note that this file was created while using the New Century Schoolbook Roman typeface.  You may find that some things line up strangely if you don't use that family.
  47. $Log:    ResultObject.h,v $
  48.  * Revision 1.3  93/01/10  15:08:43  death
  49.  * Sun Jan 10 15:08:43 PST 1993
  50.  * 
  51.  * Revision 1.2  92/07/26  13:59:06  death
  52.  * Update of the result object...
  53.  * 
  54. ====================================================================
  55. */
  56.  
  57. //
  58. // Import our standard data type definitios
  59. //
  60. #import "common.h"
  61. #import <objc/Object.h>
  62. //
  63. //    Declare an struct for a data type, and a flag indicating whether we own
  64. //    the data or not (e.g. Objects are always not owned).
  65. //
  66. typedef struct
  67. {
  68.     DataType    StoredData;
  69.     Boolean        IOwnData;
  70. }
  71. StorageArea;
  72. //
  73. //    Declare the number of storage areas we can have (including the special ones for error code,
  74. //    error text and owr own error code), and the number of storage areas actually usable.
  75. //
  76. #define MAXAREAS 8
  77. #define    NUMSTORAGEAREAS    MAXAREAS - 3
  78.  
  79. //
  80. //    Now, define our interface.   Again, see the ResultObject.rtf document for general info.
  81. //
  82. @@interface ResultObject:Object
  83. {
  84.     Integer    ErrorCode;
  85.     CString    ErrorText;
  86.     Boolean    IOwnErrorText;
  87.     //
  88.     //    Define an array of storage areas.  Note that we don't use storage area 0 for
  89.     //    now.  Probably reserving it for an error code generated by these routines.
  90.     //
  91.     StorageArea    ReturnVals[MAXAREAS];
  92. }
  93.  
  94. - (Instance) CopyCString: (CString) data;
  95. - (Instance) CopyCString: (CString) data Into: (Integer) reference;
  96. - (Instance) CopyPointer: (Pointer) data WithLength: (PositiveInteger) length ;
  97. - (Instance) CopyPointer: (Pointer) data WithLength: (PositiveInteger) length Into: (Integer) reference;
  98. - (Instance) init;
  99. - free;
  100. - (Boolean) GetBoolean;
  101. - (Boolean) GetBooleanFrom: (Integer) reference;
  102. - (Character) GetCharacter;
  103. - (Character) GetCharacterFrom: (Integer) reference;
  104. - (CString) GetCString;
  105. - (CString) GetCStringFrom: (Integer) reference;
  106. - (GenericType) GetDataWithType: (Integer) theType From: (Integer) storage;
  107. - (Integer) GetErrorCode;
  108. - (CString) GetErrorText;
  109. - (Integer) GetInteger;
  110. - (Integer) GetIntegerFrom: (Integer) reference;
  111. - (Integer) GetMyError;
  112. - (Instance) GetObject;
  113. - (Instance) GetObjectFrom: (Integer) reference;
  114. - (Pointer) GetPointer;
  115. - (Pointer) GetPointerFrom: (Integer) reference;
  116. - (PositiveInteger) GetPositiveInteger;
  117. - (PositiveInteger) GetPositiveIntegerFrom: (PositiveInteger) reference;
  118. - (Instance) PutBoolean: (Boolean) data Into: (Integer) reference;
  119. - (Instance) PutCharacter: (Character) data Into: (Integer) reference;
  120. - (Instance) PutCString: (CString) data Into: (Integer) reference;
  121. - (Instance) PutData: (GenericType) theData WithType: (Integer) theType
  122.     Into: (Integer) storage DoIOwn: (Boolean) ownit;
  123. - (Instance) PutInteger: (Integer) data Into: (Integer) reference;
  124. - (Instance) PutObject: (Instance) data Into: (Integer) reference;
  125. - (Instance) PutPointer: (Pointer) data Into: (Integer) reference;
  126. - (Instance) PutPositiveInteger: (PositiveInteger) data Into: (Integer) reference;
  127. - (Instance) ResetResults;
  128. - (Instance) StoreErrorCode: (Integer) code AndText: (CString) text;
  129. - (Instance) StoreErrorCode: (Integer) code AndCopyOfText: (CString) text;
  130. - (Instance) StoreBoolean: (Boolean) data;
  131. - (Instance) StoreCharacter: (Character) data;
  132. - (Instance) StoreCString: (CString) data;
  133. - (Instance) StoreInteger: (Integer) data;
  134. - (Instance) StoreMyError: (Integer) errorcode;
  135. - (Instance) StoreObject: (Instance) data;
  136. - (Instance) StorePointer: (Pointer) data;
  137. - (Instance) StorePositiveInteger: (PositiveInteger) data;
  138. @@end
  139.  
  140.  
  141. /* Types used by ResultObjects */
  142. #define ERR_OK    0
  143. #define ERR_PEACHY    0
  144. #define ERR_ALLISWELL    0
  145. #define ERR_GROOVY    0
  146.  
  147. #define ERR_NOSUCHAREA -1234
  148. #define ERR_NOSUCHTYPE -1235
  149. #define ERR_CANTSTORE    -1236
  150.  
  151. /* Altnerate error defines.  I prefer this style, I think.  92.05.04 djb */
  152. #define    errOK    0
  153.  
  154. #define FIRST_RESULT    3
  155. #define SECOND_RESULT    4
  156. #define THIRD_RESULT    5
  157. #define FOURTH_RESULT    6
  158. #define FIFTH_RESULT    7
  159.  
  160. #define MYERROR_RESULT    0
  161. #define ERRORCODE_RESULT    1
  162. #define ERRORTEXT_RESULT    2
  163.  
  164. @
  165.  
  166.  
  167. 1.3
  168. log
  169. @Sun Jan 10 15:08:43 PST 1993
  170. @
  171. text
  172. @d4 2
  173. a5 2
  174.     This is $Revision: 1.2 $ of this file
  175.     It was last modified by $Author: death $ on $Date: 92/07/26 13:59:06 $
  176. d8 3
  177. @
  178.  
  179.  
  180. 1.2
  181. log
  182. @Update of the result object...
  183. @
  184. text
  185. @d5 1
  186. a5 1
  187.     It was last modified by $Author: death $ on $Date: 92/03/29 12:12:59 $
  188. d7 4
  189. a10 1
  190. $Log:    Reply.h,v $
  191. @
  192.  
  193.  
  194. 1.1
  195. log
  196. @Initial revision
  197. @
  198. text
  199. @d14 1
  200. a14 1
  201. #import "generalTypes.h"
  202. d48 5
  203. a52 5
  204. - (Objekt) CopyCString: (CString) data;
  205. - (Objekt) CopyCString: (CString) data Into: (Integer) reference;
  206. - (Objekt) CopyPointer: (Pointer) data WithLength: (PositiveInteger) length ;
  207. - (Objekt) CopyPointer: (Pointer) data WithLength: (PositiveInteger) length Into: (Integer) reference;
  208. - (Objekt) init;
  209. d66 2
  210. a67 2
  211. - (Objekt) GetObject;
  212. - (Objekt) GetObjectFrom: (Integer) reference;
  213. d72 4
  214. a75 4
  215. - (Objekt) PutBoolean: (Boolean) data Into: (Integer) reference;
  216. - (Objekt) PutCharacter: (Character) data Into: (Integer) reference;
  217. - (Objekt) PutCString: (CString) data Into: (Integer) reference;
  218. - (Objekt) PutData: (GenericType) theData WithType: (Integer) theType
  219. d77 15
  220. a91 15
  221. - (Objekt) PutInteger: (Integer) data Into: (Integer) reference;
  222. - (Objekt) PutObject: (Objekt) data Into: (Integer) reference;
  223. - (Objekt) PutPointer: (Pointer) data Into: (Integer) reference;
  224. - (Objekt) PutPositiveInteger: (PositiveInteger) data Into: (Integer) reference;
  225. - (Objekt) ResetResults;
  226. - (Objekt) StoreErrorCode: (Integer) code AndText: (CString) text;
  227. - (Objekt) StoreErrorCode: (Integer) code AndCopyOfText: (CString) text;
  228. - (Objekt) StoreBoolean: (Boolean) data;
  229. - (Objekt) StoreCharacter: (Character) data;
  230. - (Objekt) StoreCString: (CString) data;
  231. - (Objekt) StoreInteger: (Integer) data;
  232. - (Objekt) StoreMyError: (Integer) errorcode;
  233. - (Objekt) StoreObject: (Objekt) data;
  234. - (Objekt) StorePointer: (Pointer) data;
  235. - (Objekt) StorePositiveInteger: (PositiveInteger) data;
  236. d104 3
  237. @
  238.